package com.runvp.common.enums;

/**
 * TYPE：数据类型，
 * ◼ 服务器往设备下发为:0x01
 * ◼ 设备应答服务器指令为:0x02
 * ◼ 设备请求服务器为:0x03
 * ◼ 服务器应答设备请求为:0x04
 */
public enum NettyType implements BaseEnumInterface{
    SERVER_TO_DEVICE("01", "服务器往设备下发"),
    DEVICE_RECEIVE_SERVER("02", "设备应答服务器"),
    DEVICE_TO_SERVER("03", "设备请求服务器"),
    SERVER_RECEIVE_DEVICE("04", "服务器应答设备");

    private String code;    //类型
    private String desc;    //描述

    NettyType(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public String getCode() {
        return code;
    }

    @Override
    public String getDesc() {
        return desc;
    }

    @Override
    public String getDefaulted() {
        return null;
    }

    public static NettyType build(String code){
        if(null == code || "".equals(code)){return  null ;}
        for (NettyType e: NettyType.values()){
            if(code.equals(e.getCode())){
                return e;
            }
        }
        return null;
    }


    /**
     * 根据key获取对应 desc
     * @param code
     * @return str
     */
    public static String getDesc(String code) {
        if(null == code || "".equals(code)){return  "未知" ;}
        for (NettyType e: NettyType.values()){
            if(code.equals(e.getCode())){
                return e.getDesc();
            }
        }
        return "未知";
    }
}
